package com.yonyou.pmclouds.measureindex.service.rmiitf;

import com.yonyou.pmclouds.basecom.exception.BusinessException;
import com.yonyou.pmclouds.measureindex.entity.IndexExcelQueryVO;
import com.yonyou.pmclouds.measureindex.entity.IndexExcelShowVO;
import com.yonyou.pmclouds.measureindex.entity.MeasureIndexRefVO;
import com.yonyou.pmclouds.measureindex.entity.MeasureIndexVO;
import com.yonyou.pmclouds.organization.entity.OrganizationShowVO;

import java.util.List;
import java.util.Map;

public interface MeasureIndexQuery {
    /**
     * 指标档案参照查询
     *
     * @param pkTenant
     * @param keyword
     * @return
     */
    List<MeasureIndexRefVO> indexRefQuery(String pkTenant, String keyword);

    /**
     * 通过主键批量查询指标档案
     *
     * @param pks
     * @return
     */
    Map<String, MeasureIndexVO> queryByPks(String[] pks);
    /**
     * 项目下所有指标
     */
    List<MeasureIndexVO> queryByProjectIds(String[] pkProjects);


    /**
     * 单项目报表查询
     */
    List<IndexExcelShowVO> queryIndexBySingleProject(IndexExcelQueryVO queryVO) throws BusinessException;

    /**
     * 组织项目报表查询
     */
    OrganizationShowVO queryIndexofMultiOrg(IndexExcelQueryVO queryVO) throws BusinessException;
}
